// 类：可以理解为模板，通过模板可以实例化对象
;(() => {
  // ts中定义并使用类
  class Person {
    // 定义属性
    name: string
    age: number
    gender: string
    // 定义构造函数：为了将来实例化对象可以直接对属性的值进行初始化
    constructor(name: string='小甜甜', age: number=18, gender: string='女') {
      // 更新对象中的属性
      this.name = name
      this.age = age
      this.gender = gender
    }
    // 定义实例化方法
    sayHi(str: string) {
      console.log(
        `大家好，我是${this.name}，今年${this.age}岁了。我是个${this.gender}孩子！`,
        str
      )
    }
  }
  // ts中使用类，实例化对象，可以直接进行初始化操作
  const person = new Person('小明',29,'男')
  person.sayHi('谢谢大家!')
})()
